// 导入 axios
import service from '@/utils/request'
import type { SpuImageData } from '@/api/spu'

// 保存接口 /admin/product/saveSkuInfo

// 定义载荷销售属性的类型规范
export interface skuSaleAttrValueListModel {
  saleAttrId: string
  saleAttrValueId: string
}

// 定义载荷平台属性的类型规范
export interface skuAttrValueListModel {
  attrId: string
  valueId: string
}

// 定义载荷图片的类型规范
// export interface skuImageListModel {
//   id?: number
//   spuId: number
//   imgName: string
//   imgUrl: string
//   isDefault?: boolean
// }

// 定义保存载荷类型规范
export interface SpuInfoModel {
  spuId?: number
  price: string | undefined
  skuName: string
  skuDesc: string
  weight: string
  tmId?: number
  category3Id?: number
  skuDefaultImg: string
  createTime?: string
  skuImageList: SpuImageData[]
  skuAttrValueList: skuAttrValueListModel[]
  skuSaleAttrValueList: skuSaleAttrValueListModel[]
  name: string
}

// 定义接口返回值类型规范
interface saveSkuInfoModel {
  code: number
  data: null
}

/**
 * @desc 保存
 * @param spuInfo 携带载荷
 * @returns
 */
export const saveSkuInfo = (spuInfo: SpuInfoModel) => {
  return service.post<any, saveSkuInfoModel>('/admin/product/saveSkuInfo', spuInfo)
}

// --------------------------------------

// 定义SKU列表数据返回的类型规范
export interface findBySpuIdModel {
  code?: number
  data?: SpuInfoModel[]
}

/**
 * @desc 获取SKU列表
 * @param spuId  当前点击列的spuId
 * @returns Promise
 */
export const findBySpuId = (spuId: number) => {
  return service.get<any, findBySpuIdModel>(`/admin/product/findBySpuId/${spuId}`)
}
